package com.iplant.mes.service;


import com.iplant.base.po.ServiceResult;
import com.iplant.basic.service.po.bms.BMSEmployee;
import com.iplant.mes.service.po.qms.QMSMaterialCheck;
import com.iplant.mes.service.po.qms.QMSPassRate;
import com.iplant.mes.service.po.qms.QMSPassStationRate;
import com.iplant.wms.service.po.batch.MSSBatchRecord;

import java.util.Calendar;
import java.util.List;

public interface QMSService {

    ServiceResult<List<QMSPassStationRate>> QMS_GetPassStationRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo, int wStatType,
                                                                       Calendar wStartDate, Calendar wEndDate);

    ServiceResult<List<QMSPassStationRate>> QMS_GetStationPassStationRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo, int wStatType,
                                                                              Calendar wStartDate, Calendar wEndDate);

    ServiceResult<List<QMSPassStationRate>> QMS_GetPassStationRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo,
                                                                       Calendar wStartDate, Calendar wEndDate);

    ServiceResult<List<QMSPassStationRate>> QMS_GetStationPassStationRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo,
                                                                              Calendar wStartDate, Calendar wEndDate);


    ServiceResult<List<QMSPassRate>> QMS_GetPassRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo, int wStatType,
                                                         Calendar wStartDate, Calendar wEndDate);

    ServiceResult<List<QMSPassRate>> QMS_GetProductPassRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo, int wStatType,
                                                                Calendar wStartDate, Calendar wEndDate);

    ServiceResult<List<QMSPassRate>> QMS_GetPassRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo,
                                                         Calendar wStartDate, Calendar wEndDate);

    ServiceResult<List<QMSPassRate>> QMS_GetProductPassRateList(BMSEmployee wLoginUser, int wProductID, int wOrderID, String wOrderNo,
                                                                Calendar wStartDate, Calendar wEndDate);

    ServiceResult<MSSBatchRecord> QMS_CreateBatchRecordByMaterialCheck(BMSEmployee wLoginUser, QMSMaterialCheck wQMSMaterialCheck);


    ServiceResult<Integer> QMS_DeleteMaterialCheck(BMSEmployee wLoginUser, QMSMaterialCheck wQMSMaterialCheck);


}
